package cn.wolfcode.luowowo.website.advice;

import cn.wolfcode.luowowo.common.exception.LogicException;
import cn.wolfcode.luowowo.common.util.AjaxResult;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import java.io.IOException;

//控制器controller功能增强标签
//在请求方法处理前和处理后,对请求方法动态的增加功能
//请求方法处理前:同一时间参数格式
//请求方法处理后:统一异常处理
@ControllerAdvice
public class CommonExceptionHandler {

    //用户可以看的异常处理
    @ExceptionHandler(LogicException.class)//参数指定:要统一处理的异常
    @ResponseBody
    public Object displayExp(Exception e) throws IOException {
        e.printStackTrace();
       return new AjaxResult(false,e.getMessage());
    }

    //系统异常处理
    @ExceptionHandler(RuntimeException.class)
    @ResponseBody
    public Object runTimeExp(Exception e) throws IOException {
        e.printStackTrace();
        return new AjaxResult(false,"系统异常,请联系管理员");
    }
}
